package com.qk.vo.clue;



import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

//线索VO  线索跟进数据回显VO
//  包含2部分数据
//     1、线索基础数据
//     2、线索跟进记录数据(多条)

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ClueVO {
    private Integer id; // 线索id, 主键
    private String phone; // 手机号
    private Integer channel; // 渠道来源，1:线上活动, 2:推广介绍
    private Integer activityId; // 活动信息，关联活动的id
    private String name; // 客户姓名
    private Integer gender; // 性别，1:男, 2:女
    private Integer age; // 年龄
    private String wechat; // 微信号
    private String qq; // qq号
    private Integer userId;
    private Integer status;
    //private Integer userId; // 归属人id，关联用户id
    //private Integer status; // 线索状态，1:待分配, 2:跟进中, 3:伪线索, 4:转为商机
    private Integer subject; // 意向学科，1:ai智能应用开发(java), 2:ai大模型开发(python)，3:ai鸿蒙开发，4:ai大数据，5:ai嵌入式，6:ai测试，7:ai运维
    private Integer level; // 意向等级, 1:近期学习、2:打算学习(考虑中)、3:进行了解、4:打酱油
    private LocalDateTime nextTime; // 下次跟进时间
    //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    //private LocalDateTime createTime; // 创建时间
    //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    //private LocalDateTime updateTime; // 修改时间
    //private String assignName;
    private List<ClueTrackRecordVO> trackRecords;






    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class ClueTrackRecordVO {
        //private Integer id; // 线索id, 主键
        //private Integer clueId; // 线索id, 主键
        //private Integer userId; // 归属人id，关联用户id
        private Integer subject; // 意向学科，1:ai智能应用开发(java), 2:ai大模型开发(python)，3:ai鸿蒙开发，4:ai大数据，5:ai嵌入式，6:ai测试，7:ai运维
        private Integer level; // 意向等级, 1:近期学习、2:打算学习(考虑中)、3:进行了解、4:打酱油
        private String record; // 跟进记录
        private LocalDateTime nextTime; // 下次跟进时间
        //private Integer type; // 跟进方式
        //private String falseReason;
        private LocalDateTime createTime;
        private String assignName;
    }
}